﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
namespace DAO
{
    public class TAIKHOANDAO
    {
        QUANLY_DIEMDataContext db = new QUANLY_DIEMDataContext();
        //đăng nhập
        public int DangNhap(TAIKHOANDTO tk)
        {
            try
            {
                return db.TAIKHOANs.Count<TAIKHOAN>(p => p.TENTK == tk.TENTK && p.MATKHAU == tk.MATKHAU);
            }
            catch
            {
                return 0;
            }
        }
        //Thêm Tài Khoản
        public int ThemTaiKhoan(TAIKHOANDTO tk)
        {
            try
            {
                TAIKHOAN taikhoan = new TAIKHOAN();
                taikhoan.TENTK = tk.TENTK;
                taikhoan.MATKHAU = tk.MATKHAU;
                db.TAIKHOANs.InsertOnSubmit(taikhoan);
                db.SubmitChanges();
                return 1;
            }
            catch
            {
                return 0;
            }
        }
        //Xóa tài khoản
        public int XoaTaiKhoan(string tentk)
        {
            try
            {
                TAIKHOAN tk = db.TAIKHOANs.SingleOrDefault<TAIKHOAN>(p=>p.TENTK==tentk);
                db.TAIKHOANs.DeleteOnSubmit(tk);
                db.SubmitChanges();
                return 1;
            }
            catch
            {
                return 0;
            }
        }
        //Kiểm tra tài khoản trùng
        public int KiemTraTaiKhoanTrung(string tentk)
        {
            try
            {
                return db.TAIKHOANs.Count<TAIKHOAN>(p => p.TENTK == tentk);
            }
            catch
            {
                return 0;
            }
        }
        //cập nhật mật khẩu
        public int CapNhatTaiKhoan(TAIKHOANDTO tk)
        {
            try
            {
                TAIKHOAN taikhoan = db.TAIKHOANs.SingleOrDefault<TAIKHOAN>(p=>p.TENTK==tk.TENTK);
                taikhoan.MATKHAU = tk.MATKHAU;
                db.SubmitChanges();
                return 1;
            }
            catch
            {
                return 0;
            }
        }
        //Load Danh Sach Tai khoan
        public List<TAIKHOANDTO> DanhSachTaiKhoan()
        {
            try
            {
                List<TAIKHOANDTO> dstk = new List<TAIKHOANDTO>();
                var ds = db.TAIKHOANs.Where(p=>p.TENTK!="admin");
                foreach(var r in ds)
                {
                    TAIKHOANDTO tk = new TAIKHOANDTO();
                    tk.TENTK = r.TENTK;
                    dstk.Add(tk);
                }
                return dstk;
            }
            catch
            {
                return null;
            }
        }
        //Load thông tin Tai khoan
        public TAIKHOANDTO ThongTinTaiKhoan(string tentk)
        {
            try
            {
                TAIKHOANDTO tk = new TAIKHOANDTO();
                TAIKHOAN ds = db.TAIKHOANs.SingleOrDefault(p => p.TENTK == tentk);
                tk.TENTK = ds.TENTK;
                tk.MATKHAU = ds.MATKHAU;
                return tk;
            }
            catch
            {
                return null;
            }
        }
    }
}
